package com.hzeport.bgs22emduty.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hzeport.bgs22emduty.common.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("EMDU_DUTY_SCHEDULE_SET_CUSTOM")
@ApiModel(value = "关区总表配置")
public class DutyScheduleSetCustom extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "类型1工作日班2节假日班3重要时期班")
    @TableField(value = "SCHEDULE_TYPE", exist = false)
    @JsonProperty(value = "sType")
    private String sType;

    @ApiModelProperty(value = "发布状态：1.发布；2.暂存")
    @TableField(value = "SCHEDULE_STATUS")
    @JsonProperty(value = "sStatus")
    private String sStatus;

    @ApiModelProperty(value = "关区GUID，源自H4A")
    @TableField(value = "CUSTOM_ID")
    @JsonProperty(value = "customId")
    private String customId;

    @JsonProperty(value = "month")
    @TableField(exist = false)
    private String month;

    @ApiModelProperty(value = "值班开始月份")
    @JsonProperty(value = "sMonthStart")
    @TableField(value = "SCHEDULE_MONTH_START")
    private Long sMonthStart;

    @ApiModelProperty(value = "值班结束月份")
    @JsonProperty(value = "sMonthEnd")
    @TableField(value = "SCHEDULE_MONTH_END")
    private Long sMonthEnd;

    @ApiModelProperty(value = "值班开始年份")
    @JsonProperty(value = "sYearStart")
    @TableField(value = "SCHEDULE_YEAR_START")
    private Long sYearStart;

    @ApiModelProperty(value = "值班结束年份")
    @JsonProperty(value = "sYearEnd")
    @TableField(value = "SCHEDULE_YEAR_END")
    private Long sYearEnd;

    @ApiModelProperty(value = "值班开始日期")
    @JsonProperty(value = "startDate")
    @TableField(value = "START_TIME")
    private LocalDate startDate;

    @ApiModelProperty(value = "值班结束日期")
    @JsonProperty(value = "endDate")
    @TableField(value = "END_TIME")
    private LocalDate endDate;

    @ApiModelProperty(value = "排班配置时的入参JSON")
    @JsonProperty(value = "templateJson")
    @TableField(value = "TEMPLATE_JSON", exist = false)
    private String templateJson;

}
